1. Field of the Invention
The present invention relates to the field of computer memory systems. More specifically, it relates to the field of parallel associative contents-addressable electronic memory systems.
2. Description of Related Art
Traditional computers and computing systems comprise at least four major subsystems: input, output, processing, and memory. The input and output subsystems are used to connect a computer to the outside world, the processing subsystem is used to perform calculations and to manipulate information, and the memory subsystem is used to record information for later use. A memory in the memory subsystem typically comprises a plurality of memory cells, each of which is used for storing one datum of the information. A processor in the processor subsystem may store ("write") data into memory by presenting that data and indicating the location of one or more cells where the data is to be stored, and may retrieve ("read") data from the memory by indicating one or more cells where the data had been stored, and accepting the data which the memory presents in response.
Sizable and complex computing systems generally work with large amounts of information, and therefore require a sizable memory with a large number of memory cells. Locating information in a sizable memory may require the careful organization of data structures to be stored therein, assiduous searching of these data structures by the processing subsystem, and expenditures of much time and processing power. Accordingly, there is a need for memory subsystems in which specific stored information can be located with significantly reduced time and effort.
Related to the problem with presently available memory systems of locating information in a sizable memory is the problem of processing large amounts of data. Presently available memory systems generally allow a processor to manipulate only one data element (or only a small number of data elements) at once. When a processor works with large amounts of information, this requirement of manipulating only a small number of data elements restrains it from operating at high speeds. Paradoxically, adding more memory data elements only slows the processing operation, as the presence of more memory data elements results in the requirement of individual access and processing for each of them. There is a need for memory subsystems in which information can be manipulated in large bundles simultaneously.
Accordingly, it is an object of the present invention to provide an improved method for accessing and referencing stored data in memory. It is another object of the present invention to provide an improved memory storage device which operates associatively, in parallel, is content-addressable, and which is easily extensible to any desired size. These and other objects of the present invention will be clear after an examination of the drawings, the description, and the claims herein.